When online applications and the like which continue to provide long-term services are hosted in a data center, reliability or availability of the data center is important. In the related art, as methods of making a system highly reliable, although a redundancy or clustering technique, a fault recovery method and the like are used, a reliability management method adapted to a configuration of a complicated data center is required.
Particularly, in recent years, in a data center server integration has increasingly been performed by a server virtualization function, and thus the reliability management of a virtual machine or virtualization software has become a new challenge. The virtualization software is software for creating a plurality of virtual machines on a host machine to operate them, and requires high reliability for stably operating the virtual machines.
As a problem specific to software continuously operating for a long period of time such as a virtual machine or virtualization software, there is a degradation phenomenon of the operating environment due to an aging-related bug. The aging-related bug means a bug which causes performance degradation, failures or the like by the continuous operation for a long period of time.
There may be a case in which it is difficult to completely remove the aging-related bug at the time of debugging thereof, and particularly in software such as libraries which a third party develops, the existence of bugs can be confirmed but it is difficult to remove the bugs.
As an effective solution to the aging-related bug, software rejuvenation is known. Software rejuvenation is a method to prevent or postpone failures caused by aging-related bugs by resetting the internal state or the operating environment of the aged software. Since downtime occurs in rejuvenation processing itself in the software rejuvenation, it is necessary to schedule the rejuvenation at an appropriate timing or interval.
Consequently, there is a method of preventing failures by periodically executing the rejuvenation processing on the basis of the operating time of software (see, for example, Patent Document 1). In addition, there is also a method of normalizing an operation by monitoring the application operation and restarting a process (see, for example, Patent Document 2).